package start.spring.basic.report.service.filltemplete;

import java.util.List;
import start.spring.basic.report.entity.ReportFillData;
import start.spring.basic.report.service.IBaseService;
import start.spring.basic.report.vo.filltemplete.FillDataInfo;
import start.spring.basic.response.ResponseData;
import start.spring.basic.page.PageQuery;
import start.spring.basic.page.PageResult;

/**
 * 填报数据Service接口
 * 
 * @author xyy
 * @date 2024-01-16
 */
public interface IReportFillDataService extends IBaseService {
	
    /**
     * 查询填报数据列表
     * 
     * @param reportFillData 填报数据
     * @return 填报数据集合
     */
    public PageResult<ReportFillData> selectReportFillDataPageList(PageQuery pageQuery, ReportFillData reportFillData);

    /**
     * 查询全量填报数据
     * 
     * @param reportFillData 填报数据
     * @return 填报数据集合
     */
	public List<ReportFillData> selectReportFillDataList(ReportFillData reportFillData);

    /**
     * 修改填报数据
     * 
     * @param reportFillData 填报数据
     * @return 结果
     */
    public int updateReportFillData(ReportFillData reportFillData);

    /**
     * 批量删除填报数据
     * 
     * @param dataIds 需要删除的填报数据主键集合
     * @return 结果
     */
    public ResponseData<String> deleteReportFillDataByDataIds(List<Long> dataIds);

    /**
     * 保存草稿
     *	
     * @param reportFillData
     * @return
     * @since           1.0
     */
	public ResponseData<String> saveDraft(ReportFillData reportFillData);

	/**
	 * 查询填报数据详情
	 *	
	 * @param reportFillData 待查询数据
	 * 
	 * @return
	 * @since           1.0
	 */
	public ResponseData<FillDataInfo> selectReportFillDataDetail(ReportFillData reportFillData);

	/**
	 * 提交数据
	 *	
	 * @param reportFillData 提交数据详情
	 * 
	 * @return
	 * @since           1.0
	 */
	public ResponseData<String> commitData(ReportFillData reportFillData);
	
}
